<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body></body>
  <script>
    // null和undefined的区别;

    // 1、首先是数据类型不一样

    console.log(typeof null); //object

    console.log(typeof undefined); //undefined

    // 2、null和undefined两者相等，但是当两者做全等比较时，两者又不等。（因为他们的数据类型不一样）

    console.log(null == undefined); //ture

    console.log(null === undefined); //false

    // 3、转化成数字不同

    console.log(Number(null)); //0

    console.log(Number(undefined)); //NaN

    console.log(Number(22 + null)); //22

    console.log(Number(22 + undefined)); //NaN

    //  4、null代表“空”，代表空指针；undefined是定义了没有赋值

    var a;

    console.log(a); //undefined

    var b = null;

    console.log(b); //null
  </script>
</html>
